import { blobValidate } from "@/utils/zone";

/**
 * 文件流下载
 * @param data Blob文件流对象
 * @param name 下载文件名称
 */
export const fileBlobDownload = (data, name) => {
  // 判断是否是blob对象
  const isBlob = blobValidate(data);
  if (!isBlob) {
    throw new Error("附件格式错误!");
  }
  const blob = new Blob([data], { type: "text/plain;charset=utf-8" });
  const url = window.URL.createObjectURL(blob); // 创建一个指向该 Blob 对象的URL
  const a = document.createElement("a"); // 创建一个a标签
  a.href = url; // 设置a标签的href属性
  a.download = name; // 下载附件名称
  document.body.appendChild(a); // 将a标签添加到body中
  a.style.display = "none"; // 隐藏a标签
  a.click(); // 模拟点击
  document.body.removeChild(a); // 删除a标签
};
